package com.dsg.dao.account;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsg.entity.account.DsgAccountTrade;
import com.dsg.util.BaseDao;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 * 交易帳目 Mapper 接口
 * </p>
 *
 * @author system
 * @since 2020-07-12
 */
@Repository
public interface DsgAccountTradeMapper extends BaseDao<DsgAccountTrade> {

    /**
     * 查詢交易賬目入油過數
     *
     * @param dsgAccountTrade
     * @return
     */
    List<DsgAccountTrade> selectDsgAccountTrade(@Param("en") DsgAccountTrade dsgAccountTrade);

    /**
     * 按銀行往來過數檔案OID查詢交易帳目
     *
     * @param oid
     * @return
     */
    List<DsgAccountTrade> selectDsgAccountTradeListToRecordId(@Param("oid") String oid);

    /**
     * 費用調整分頁查詢
     *
     * @param page
     * @param dsgAccountTrade
     * @return
     */
    List<DsgAccountTrade> selectListAdj(Page page, @Param("en") DsgAccountTrade dsgAccountTrade);

    /**
     * 查詢交易賬目和費用調整金額列表
     *
     * @param tradeOids
     * @return
     */
    List<DsgAccountTrade> selectTradeAdjList(String tradeOids);

    /**
     * 查詢未結單交易賬目
     *
     * @param dsgAccountTrade
     * @return
     */
    List<DsgAccountTrade> selectStatement(@Param("en") DsgAccountTrade dsgAccountTrade);

    /**
     * 查詢月結單
     *
     * @param page
     * @param dsgAccountTrade
     * @return
     */
    List<DsgAccountTrade> selectStatement(Page page, @Param("en") DsgAccountTrade dsgAccountTrade);

    /**
     * 查詢結單列表(分頁)
     *
     * @param page
     * @param dsgAccountTrade
     * @return
     */
    List<DsgAccountTrade> selectStatementList(Page page, @Param("en") DsgAccountTrade dsgAccountTrade);
}
